<?php



class Pagamento
{
	var $numeroParcelas;
	var $efetuado;
	var $strFormaPagamento;
	var $formaPagamento;
	
	function Pagamento($numeroParcelas=1, $efetuado = false) {
		$this->setNumeroParcelas($numeroParcelas);
		$this->setEfetuado($efetuado);
	}
	
	function setCartao($bandeira) {
			$this->setStrFormaPagamento('cartao');
			$this->setFormaPagamento(new Cartao($bandeira));
	}
	
	function setBoleto() {
		$this->setStrFormaPagamento('boleto');
		$this->setFormaPagamento(new BoletoBancario());
	}
	
	function setDebito($banco) {
		$this->setStrFormaPagamento('debito');
		$this->setFormaPagamento(new DebitoOnline($banco));
	}
	
	static function getBandeiras() {
		$strQuery 	= "SELECT * FROM bandeiras;";
		
		$connection	= Modelo::conectaBD();
		$resultSet	= Modelo::query($strQuery, $connection);
		Modelo::desconectaBD($connection);
		
		$bandeiras	= array();
		
		while ($resultado = mysql_fetch_array($resultSet)) {
			$bandeiras[$resultado['idBandeira']]['bandeira']	= $resultado['bandeira'];
			$bandeiras[$resultado['idBandeira']]['logo']		= $resultado['logo'];
		}
		
		return $bandeiras;
	}
	
	static function getBancos() {
		$strQuery 	= "SELECT * FROM bancos;";
		
		$connection	= Modelo::conectaBD();
		$resultSet	= Modelo::query($strQuery, $connection);
		Modelo::desconectaBD($connection);
		
		$bancos	= array();
		
		while ($resultado = mysql_fetch_array($resultSet)) {
			$bancos[$resultado['idBanco']]['nomeBanco']	= $resultado['nomeBanco'];
			$bancos[$resultado['idBanco']]['logo']		= $resultado['logo'];
		}
		
		return $bancos;
	}
	
	
    /**
     * Returns $efetuado.
     * @see Pagamento::$efetuado
     */
    public function getEfetuado()
    {
        return $this->efetuado;
    }
    
    /**
     * Sets $efetuado.
     * @param object $efetuado
     * @see Pagamento::$efetuado
     */
    public function setEfetuado($efetuado)
    {
        $this->efetuado = $efetuado;
    }
    
    /**
     * Returns $numeroParcelas.
     * @see Pagamento::$numeroParcelas
     */
    public function getNumeroParcelas()
    {
        return $this->numeroParcelas;
    }
    
    /**
     * Sets $numeroParcelas.
     * @param object $numeroParcelas
     * @see Pagamento::$numeroParcelas
     */
    public function setNumeroParcelas($numeroParcelas)
    {
        $this->numeroParcelas = $numeroParcelas;
    }

    /**
     * Returns $strFormaPagamento.
     * @see Pagamento::$strFormaPagamento
     */
    public function getStrFormaPagamento()
    {
        return $this->strFormaPagamento;
    }
    
    /**
     * Sets $strFormaPagamento.
     * @param object $strFormaPagamento
     * @see Pagamento::$strFormaPagamento
     */
    public function setStrFormaPagamento($strFormaPagamento)
    {
        $this->strFormaPagamento = $strFormaPagamento;
    }

    /**
     * Returns $formaPagamento.
     * @see Pagamento::$formaPagamento
     */
    public function getFormaPagamento()
    {
        return $this->formaPagamento;
    }
    
    /**
     * Sets $formaPagamento.
     * @param object $formaPagamento
     * @see Pagamento::$formaPagamento
     */
    public function setFormaPagamento($formaPagamento)
    {
        $this->formaPagamento = $formaPagamento;
    }

}

?>